package com.kangfu.db.mapper;



import com.kangfu.db.domain.entity.User;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * 用户Mapper接口
 * 
 * @author ruoyi
 * @date 2022-08-12
 */
public interface UserMapper 
{
    /**
     * 查询用户
     * 
     * @param id 用户主键
     * @return 用户
     */
    public User selectUserById(int id);

    /**
     * 查询用户
     * @param openid
     * @return 用户
     */
    public User selectUserByOpenid(String openid);

    /**
     * 新增用户
     * 
     * @param user 用户
     * @return 结果
     */
    public int insertUser(User user);

    /**
     * 修改用户
     * 
     * @param user 用户
     * @return 结果
     */
    public int updateUser(User user);

    /**
     * 更新用户手环绑定状态
     * @param userId
     * @param bindFlag
     * @return
     */
    public int updateBindStatus(@Param("userId") int userId, @Param("bindFlag") String bindFlag);

    /**
     * 统计累计打卡次数超过了多少人
     * @param checkinCount
     * @return
     */
    public int selectExceedCount(@Param("checkinCount") int checkinCount);

    /**
     * 添加用户累计打卡次数
     * @param userId
     * @return
     */
    public Integer updateCheckinCount(@Param("userId") int userId);

    /**
     * 添加用户坚持打卡次数
     * @param userId
     * @return
     */
    public Integer updateGoonCount(@Param("userId") int userId);

    /**
     * 更新用户坚持打卡次数为0
     * @param userId
     * @return
     */
    public Integer updateGoonCountZero(@Param("userId") int userId);

    /**
     * 更新用户坚持打卡次数为1
     * @param userId
     * @return
     */
    public Integer updateGoonCountOne(@Param("userId") int userId);


    public List<User> getAllUser();


}
